8e98b30f14a83afafad90b37830e93ddd8e7835e,src/main/org/codehaus/groovy/control/ResolveVisitor.java,ResolveVisitor,resolveFromModule,#ClassNode#boolean#,467

Before Change


        if (res == NONE)
          return false;

        if (res != null) {
            type.setRedirect((ClassNode) res);
            return true;
        }

        boolean newNameUsed = false;
        // we add a package if there is none yet and the module has one. But we
        // do not add that if the type is a ConstructedClassWithPackage. The code in ConstructedClassWithPackage
        // hasPackageName() will return true if ConstructedClassWithPackage#className has no dots.
        // but since the prefix may have them and the code there does ignore that
        // fact. We check here for ConstructedClassWithPackage.
        if (!type.hasPackageName() && module.hasPackageName() && !(type instanceof ConstructedClassWithPackage)) {
            type.setName(module.getPackageName() + name);
            newNameUsed = true;
        }
        // look into the module node if there is a class with that name
        List moduleClasses = module.getClasses();
        for (Iterator iter = moduleClasses.iterator(); iter.hasNext();) {
            ClassNode mClass = (ClassNode) iter.next();
            if (mClass.getName().equals(type.getName())) {
                if (mClass != type) {
                    type.setRedirect(mClass);
                }
                module.resolveCache.put(name, type.redirect());
                return true;

After Change


        for (Iterator iter = moduleClasses.iterator(); iter.hasNext();) {
            ClassNode mClass = (ClassNode) iter.next();
            if (mClass.getName().equals(type.getName())) {
                if (mClass != type) type.setRedirect(mClass);
                return true;
            }
        }